const XLSX = require('xlsx');
const fs = require('fs');

// 读取并解析 .xlsx 文件
function readXlsx(filePath) {
  // 读取工作簿
  const workbook = XLSX.readFile(filePath);
  // 选择第一个工作表
  const sheetName = workbook.SheetNames[0];
  const worksheet = workbook.Sheets[sheetName];

  // 将工作表转化为 JSON 数据
  const jsonData = XLSX.utils.sheet_to_json(worksheet);

  let idCounter = 1;
  // 格式化数据为所需的结构
  const formattedData = jsonData.map(row => ({
    id: idCounter++, // id 设置为自增
    protocolName: row['protocolName'], // 假设列名是 protocolName
    name: row['name'], // 假设列名是 name
    error: row['error'], // 假设列名是 error
    description: row['description'] // 假设列名是 description
  }));

  return formattedData;
}

// 将数据写入 JSON 文件
function writeJsonToFile(data, outputFilePath) {
  fs.writeFileSync(outputFilePath, JSON.stringify(data, null, 2), 'utf-8');
  console.log('JSON file has been saved to ' + outputFilePath);
}

// 主程序
function main() {
  const inputFilePath = 'D:/output.xlsx'; // 输入的 xlsx 文件路径
  const outputFilePath = 'D:/errorKnowledge23.json'; // 输出的 json 文件路径

  const jsonData = readXlsx(inputFilePath);
  writeJsonToFile(jsonData, outputFilePath);
}

main();
